//
//  GuidePageView.h
//
//  Created by Zy on 2017/6/17.
//  Copyright © 2017年 Zy. All rights reserved.
//
//  GuidePage

#import <UIKit/UIKit.h>

@class GuidePageView;

typedef void(^GuidePageComplete)(GuidePageView *guidePageView);

/**
 * GuidePageViewDelegate.
 */
@protocol GuidePageViewDelegate <NSObject>

@required
/**
 * 完成引导，进入程序回调方法.
 */
- (void)guidePageViewComplete:(GuidePageView *)guidePageView;

@end

/**
 * 引导页.
 *  App首次启动显示.
 */
@interface GuidePageView : UIScrollView

/**
 * 代理.
 *  通过init方法实例化，需要遵守.
 */
@property (nonatomic, weak) id<GuidePageViewDelegate> guidePageDelegate;

/**
 * 是否显示开始按钮.
 *  默认为NO.
 *  如果为YES: 在最后一页显示开始按钮，点击按钮进入程序.
 *  如果为NO: 则滚到最后一页再往后滚进入程序.
 */
@property (nonatomic, assign, getter=isShowStartButton) BOOL showStartButton;

/**
 * 是否显示PageControl.
 *  默认为NO.
 */
@property (nonatomic, assign, getter=isShowPage) BOOL showPage;

/**
 * 图片数组.
 *  注意: 设置了图片数组就不需要再设置PlistFile.
 */
@property (nonatomic, copy) NSArray *imageArray;

/**
 * Plist文件名.
 *  注意: 设置了Plist文件名就不需要再设置图片数组.
 */
@property (nonatomic, copy) NSString *plistFile;

/**
 * 实例化方法.
 * 通过本方法实例化，不需要遵守Delegate.
 *  @param complete 完成引导，进入程序回调.
 *  @return GuidePageView.
 */
+ (instancetype)guidePageViewComplete:(GuidePageComplete)complete;

/**
 * 设置开始按钮显示的图片.
 *  注意: 只有设置showStartButton为YES，才能显示.
 */
- (void)setStartButtonImage:(NSString *)image;

@end
